const app = getApp();
// 引入env中的url
const {
  baseUrl
} = require('./env.js').prod;
const subDomain = 'xxx';

module.exports = {
  /**
   * 二次封装wx.request
   * url:请求的接口地址
   * method:请求方式 GET,POST....
   *  data:要传递的参数
   * isSubDomain:表示是否添加二级子域名 true代表添加, false代表不添加
   * isLoading:表示是否需要loading true = 是 默认true
   */
  request: (url, method, data, isSubDomain,isLoading = true) => {
    console.log('这是我封装的ajax请求', baseUrl);
    //这里使用ES6的写法拼接的字符串
    let _url = `${baseUrl}/${isSubDomain ? subDomain: '' }${url}`;
    // console.log(_url, '拼接的url');
    return new Promise((resolve, reject) => {
      // 请求读取登录自定义状态
      let access_token = '';
      try {
        var userInfo = wx.getStorageSync('userInfo')
        if (userInfo) {
          access_token = userInfo.access_token
        }
        // console.log(access_token, 'request userInfo')
      } catch (e) {
        console.log('request.js中读取用户信息失败');
      }
      if(isLoading){
        wx.showLoading({
          title: '正在加载',
        });
      }
      
      wx.request({
        url: _url,
        data: data,
        method: method,
        header: {
          'content-type': 'application/json; charset=utf-8',
          'token': access_token
        },
        success: (res) => {
          console.log('从接口获取到的数据', res);
          let {
            code,
            message,
          } = res.data;
          switch (code) {
            case -1:
              wx.hideLoading();
              wx.switchTab({
                url: '/pages/user-center/index',
              })
              // wx.showModal({
              //   title: '提示',
              //   content: message,
              //   showCancel: false,
              //   confirmText: '立即登录',
              //   success() {
              //     wx.switchTab({
              //       url: '/pages/user-center/index',
              //     })
              //   }
              // })
              break;
            case 0:
              resolve(res.data.data)
              wx.hideLoading();
              break;
            default:
              wx.hideLoading();
              wx.showToast({
                title: message,
                duration: 1500,
                icon:'none'
              })
              break;
          }
        },
        fail() {
          wx.hideLoading();
          reject('接口有误，请检查')
        }
      });

    });
  },
}